home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 272_01 / sound.h < prev    next >
Text File  |  1987-04-05  |  3KB  |  130 lines

  1. /*
  2. **          SM.LIB  function source code
  3. **  Copyright 1986, S.E. Margison
  4. **
  5. **  FUNCTION: sound.h
  6. ** defines for IBM speaker control
  7. */
  8.  
  9. /* defines for mktone() update parameter: */
  10. #define ON 0          /* turn the speaker on */
  11. #define UPDATE 1      /* sound is on, just change freq */
  12. #define TOGGLE 2      /* for delay use, turn on, then off */
  13.  
  14. /* port equates */
  15. #define SCNTRL 97     /* sound control port */
  16. #define SOUNDON 0x03  /* bit mask to enable speaker */
  17. #define SOUNDOFF 0xfc /* bit mask to disable speaker */
  18. #define C8253 67      /* port address to control 8253 */
  19. #define SETIMER 182   /* tell 8253 to expect freq data next */
  20. #define F8253 66      /* frequency address on 8253 */
  21.  
  22. /* frequency equates (muscical scale) */
  23. /* digit in label is octave number, S indicates Sharp (#) */
  24. #define    C0    36489
  25. #define    CS0    34445
  26. #define    D0    32512
  27. #define    DS0    30673
  28. #define    E0    28961
  29. #define    F0    27329
  30. #define    FS0    25804
  31. #define    G0    24351
  32. #define    GS0    22981
  33. #define    A0    21694
  34. #define    AS0    20473
  35. #define    B0    19326
  36.  
  37. #define    C1    18244
  38. #define    CS1    17218
  39. #define    D1    16251
  40. #define    DS1    15340
  41. #define    E1    14480
  42. #define    F1    13668
  43. #define    FS1    12899
  44. #define    G1    12175
  45. #define    GS1    11493
  46. #define    A1    10847
  47. #define    AS1    10238
  48. #define    B1    9663
  49.  
  50. #define    C2    9121
  51. #define    CS2    8609
  52. #define    D2    8126
  53. #define    DS2    7670
  54. #define    E2    7239
  55. #define    F2    6833
  56. #define    FS2    6450
  57. #define    G2    6088
  58. #define    GS2    5746
  59. #define    A2    5424
  60. #define    AS2    5119
  61. #define    B2    4832
  62.  
  63. #define    C3    4561
  64. #define    CS3    4305
  65. #define    D3    4063
  66. #define    DS3    3835
  67. #define    E3    3620
  68. #define    F3    3417
  69. #define    FS3    3225
  70. #define    G3    3044
  71. #define    GS3    2873
  72. #define    A3    2712
  73. #define    AS3    2560
  74. #define    B3    2416
  75.  
  76. #define    C4    2280
  77. #define    CS4    2152
  78. #define    D4    2032
  79. #define    DS4    1917
  80. #define    E4    1810
  81. #define    F4    1708
  82. #define    FS4    1612
  83. #define    G4    1522
  84. #define    GS4    1437
  85. #define    A4    1356
  86. #define    AS4    1280
  87. #define    B4    1210
  88.  
  89. #define    C5    1140
  90. #define    CS5    1076
  91. #define    D5    1016
  92. #define    DS5    959
  93. #define    E5    905
  94. #define    F5    854
  95. #define    FS5    806
  96. #define    G5    761
  97. #define    GS5    718
  98. #define    A5    678
  99. #define    AS5    640
  100. #define    B5    604
  101.  
  102. #define    C6    570
  103. #define    CS6    538
  104. #define    D6    508
  105. #define    DS6    479
  106. #define    E6    449
  107. #define    F6    427
  108. #define    FS6    403
  109. #define    G6    380
  110. #define    GS6    359
  111. #define    A6    339
  112. #define    AS6    320
  113. #define    B6    302
  114.  
  115. #define    C7    285
  116. #define    CS7    269
  117. #define    D7    254
  118. #define    DS7    240
  119. #define    E7    226
  120. #define    F7    214
  121. #define    FS7    202
  122. #define    G7    190
  123. #define    GS7    180
  124. #define    A7    169
  125. #define    AS7    160
  126. #define    B7    151
  127.  
  128. #define C8    143
  129.  
  130.